Interactive entertainment system for presenting supplemental interactive content together with continuous video programs

ABSTRACT

An interactive entertainment system enables presentation of supplemental interactive content along side traditional broadcast video programs, such as television shows and movies. The programs are broadcast in a conventional manner. The supplemental content is supplied as part of the same program signal over the broadcast network, or separately over another distribution network. A viewer computing unit is located at the viewer&#39;s home to present the program and supplemental content to a viewer. When the viewer tunes to a particular channel, the viewer computing unit consults an electronic programming guide (EPG) to determine if the present program carried on the channel is interactive. If it is, the viewer computing unit launches a browser. The browser uses a target specification stored in the EPG to activate a target resource containing the supplemental content for enhancing the broadcast program. The target resource contains display layout instructions prescribing how the supplemental content and the video content program are to appear in relation to one another when displayed. When the data from the target resource is downloaded, the viewer computing unit is responsive to the layout instructions obtained from the target resource to display the supplemental content concurrently with the video content program. Embedding the layout instructions in the supplemental content advantageously places control of the presentation to the content developers. The developers are free to arrange the data and video in any manner they choose.

TECHNICAL FIELD

1. This invention relates to interactive entertainment systems, such asinteractive television or interactive computing network systems. Moreparticularly, this invention relates to methods for presentingsupplemental interactive content in conjunction with continuous videoprograms to enable viewer interactivity with the otherwisenon-interactive video programs.

BACKGROUND OF THE INVENTION

2. Video content programs, such as TV shows and pay-per-view movies, aredelivered to a viewer as a continuous data stream. Today, programs aremost commonly distributed using a wireless broadcast system, or a cablesystem. In the first instance, the programs are broadcast over awireless network and received at individual homes through an antenna orsatellite dish. In the latter case, the programs are transmitted overcable to set-top boxes resident in the viewers' homes.

3. In broadcast distribution systems, there is no opportunity forinteractive control of the content by the viewer. The viewer simply hasan option to watch the program, change to a different program, or turnoff the television. However, as consumers have learned from playingvideo games on their televisions, non-interactive viewing is not nearlyas fun or sensory rich as interactive entertainment.

4. To enhance the traditional way of viewing television, there has beensome effort toward the production of interactive programming content. Aspresently contemplated, additional interactive content is created toenhance the existing traditional program. This supplemental content isplayed along with the continuous video stream to enable viewers tointeract with the program in a more involved manner than simply watchingit. The supplemental content might, for example, ask the viewerquestions about the episode, or play games with the viewer that relateto the show, or describe behind-the-scenes aspects of making theprogram. However, there remains a significant hurdle concerning how tocreate and distribute interactive programs.

5. Apart from the TV environment, however, computer users are familiarwith interactive content on their computers. Many users own interactivemultimedia CD-ROM applications that combine video, audio, pictures,text, and other content into a rich and responsive presentation.Familiar examples of interactive computer applications include games(e.g., Myst from Broderbund), educational programs (e.g., Reader Rabbitseries from the Learning Company or Magic Schoolbus series fromMicrosoft), and home entertainment (e.g., Encarta from Microsoft).

6. Interactive content is also available from online services over apublic network. Most notably, the Internet is emerging as a means forsupplying video, sound, pictures, text, and other multimedia richresources to a user's computer. Through the Internet, users can access awide variety of resources that are maintained on computers locatedaround the world.

7. Resources available on the Internet are most commonly presented ashypertext. “Hypertext,” also referred to as “hypermedia,” is a metaphorfor presenting information in which text, images, sounds, and actionsbecome linked together in a complex, non-sequential web of associationsthat permit a user to browse through related topics, regardless of thepresented order of the topics. Hypermedia content is widely used fornavigation and information dissemination on the “World-Wide Web” (WWW orWeb) of the Internet. An application program referred to as a “Webbrowser” is normally used to retrieve and render hypermedia content fromthe WWW.

8. Despite the development of interactive entertainment in the computersector, there has been little activity spilling over into thetraditional television world. The TV environment poses a problem in thatthe programs are typically delivered as a broadcast of a continuous datastream, which inherently does not support interactive control.Interlacing interactive content presents a difficult design issue.

9. One proposed solution is a technology referred to as “Intercasttechnology” which is available from the Intercast Industry Group, aconsortium of leading television networks, program hardware vendors, andsoftware vendors. The Intercast technology presents both televisionprograms and Internet data together on the same television or computermonitor, but with separate and predefined panes.

10.FIG. 1 shows a screen 14 (television or computer monitor) whichillustrates the Intercast technology. The screen 14 is divided intopanes, as represented by panes 16-18. Pane 16 contains the televisionprogram resulting from the video data. Pane 17 contains a hypermediadocument, such as a Web page, that is provided by the Internet data. Athird pane 18 can be used to show additional data, such asadvertisements or the like.

11. The Internet data is combined with the video data of the televisionprogram to form a single signal that is broadcast to the viewer. TheInternet data is transmitted during the vertical blank interval (VBI)between successive frames of the video data. The Internet data and videodata are separated at the viewer's computer and presented simultaneouslywithin their respective panes.

12. The drawback with the Intercast technology is that it rigidlyadheres to the paned presentation. The television pane 16 is aself-contained pane which is dedicated to showing only the videoprogram, and the Web pane 17 is a separately self-contained pane whichis reserved exclusively for Web content. Content providers who developthe Internet data have no control over how the television program andinteractive supplemental content is presented to the viewer. They cansimply control how the data is presented within its own box 17.Accordingly, the content providers are significantly limited in whatthey can create in the way of a full interactive media event.

13. The inventors have developed a better way of creating anddistributing interactive programming that frees the content providers ofthese restrictions.

SUMMARY OF THE INVENTION

14. This invention concerns an interactive entertainment system forsupplying interactive supplemental content along with continuous videocontent programs to viewers. The programs are supplied from a programprovider, such as a cable headend or a broadcast station, over adistribution network to a viewer computing unit. The programs arecontinuous, non-interactive data streams, such as television shows,movies, or other video content.

15. The viewer computing unit is implemented as a television, atelevision/set-top box unit, a personal computer, or the like. It has aprocessor and memory. An electronic programming guide (EPG) is stored inthe memory and executable on the processor to organize programminginformation that is descriptive of the video content programs. The EPGmaintains a data field that indicates whether the video content programis interactive. The EPG data field contains a pointer, universalresource locator, or other target specification to the target resourcethat supports the interactive content and correlates this data fieldwith the particular program that the supplemental content is designed toenhance. Accordingly, if a target resource is listed in conjunction witha particular program, the program is recognized as being interactive.The supplemental content can be developed and provided by the sameprovider that distributes the video content program, or by anindependent service provider.

16. When the viewer tunes to a particular channel, the viewer computingunit consults the EPG to determine if the present program isinteractive. If it is, the viewer computing unit launches an interactivesupport module, such as an Internet browser. This browser is kept inmemory and is dynamically loadable for execution on the processor whenthe viewer tunes to a channel carrying a video content program that theEPG identifies as interactive. The viewer computing unit also depicts asmall icon or other indicia to alert the viewer that the program isinteractive. The viewer can click on or otherwise activate the icon toenter the interactive mode and display the supplemental content. As analternative, the supplemental content can be automatically displayed inresponse to launching the Internet browser.

17. The Internet browser uses the target specification in the EPG tostart the target resource. The target resource contains the supplementalcontent to enhance the television program. The supplemental contentmight be, for example, questions about the program, games, triviainformation, facts about the actors and producers, information on otherepisodes, advertisements, a listing of products or memorabilia about theprogram, and so on. The supplemental content and program can betransmitted together as a single signal, which is separated at theviewer computing unit, or separately over two channels or two differentnetworks.

18. The target resource also contains display layout instructionsprescribing how the supplemental content and the video content programare to appear in relation to one another when displayed on thetelevision or monitor. When the data from the target resource isdownloaded to the viewer computing unit, the processor is responsive tothe layout instructions obtained from the target resource to display thesupplemental content concurrently with the video content program.

19. Embedding the layout instructions in the supplemental contentadvantageously returns control of the presentation to the contentdevelopers. The developers can now arrange the data and video in anymanner they choose. The developers are not restricted to specific fixedpanes, as in the prior art.

BRIEF DESCRIPTION OF THE DRAWINGS

20.FIG. 1 is an illustration of a screen showing a paned presentationformat for presenting television programs and Internet data according toprior art Intercast technology.

21.FIG. 2 is a diagrammatic illustration of an interactive entertainmentsystem according to one implementation. The FIG. 2 implementation isrepresentative of an interactive TV system.

22.FIG. 3 is a simplified example of data fields in a data structuremaintained by an electronic programming guide.

23.FIG. 4 is a diagrammatic illustration of an interactive entertainmentsystem according to a second implementation, which is representative ofan interactive integrated PC-TV system.

24.FIG. 5 is a block diagram of a viewer computing unit according to anaspect of this invention.

25.FIGS. 6 and 7 show a flow chart for operating an interactiveentertainment system.

26.FIG. 8a-8 c are a series of exemplary screen illustrations showingdifferent display layouts of the video program and the supplementalcontent.

27.FIG. 9 is a flow chart of a method for authoring an interactiveentertainment program.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

28.FIG. 2 shows an interactive entertainment system 20 implemented as aninteractive television (ITV) system. System 20 includes a centralizedheadend 22 which is configured to provide continuous video contentprograms to multiple subscribers. These programs might includetraditional broadcast TV shows, movies, games, and the like. Theprograms are transmitted as a continuous data stream, which isnon-interactive in itself.

29. Each subscriber has a viewer computing unit 24. In the illustratedimplementation, the viewer computing unit is embodied as a set-top box(STB) 26 coupled to a television (TV) 28. The STB 26 receives digitalvideo signals from headend 22 and controls which programs are displayedon the TV 28. The STB 26 is controlled by the viewer through use of apanel control located on its face, or a hand held remote control unit30. Instead of a separate STB, however, a viewer computing unit can beincorporated in the TV itself. In addition to televisions, the viewercomputing unit might be implemented with other types of visual displayunits, such as a computer monitor, as is described below with respect tothe FIG. 4 implementation.

30. Each viewer computing unit 24 is configured to run an electronicprogram guide (EPG). The EPG provides an on-screen listing of variousprograms or program titles. The listing is organized in a predeterminedarrangement that is displayed on the television. The EPG might alsoinclude other program descriptive information, including whether theprogram is provided in closed s caption or stereo.

31. Headend 22 is interconnected to the subscribers via a distributionstructure or network 32. The distribution structure 32 can beimplemented in different ways. One implementation is a multi-tiernetwork which includes a high-speed, high-bandwidth fiber optic cablenetwork between the headend and regional distribution nodes (not shown),and conventional home entry lines, such as twisted-pair lines or coaxialcable, between the distribution nodes and viewer computing units. Otherimplementations include satellite communications (e.g., DSStechnologies), RF communication, or other wireless technologies.Moreover, the network can be constructed using a combination of wirelessand wire-based technologies.

32. In the illustrated implementation, the network 32 provides both thepipeline for distribution of programs from the headend to thesubscriber, as well as a back channel which enables communication fromthe subscriber to the headend. The back channel permits the viewer tosend requests and instructions to the headend to facilitate interactivecontrol.

33. Headend 22 provides video content programs to the viewer computingunit 24. The programs are embodied as video data streams that aretransmitted from headend 22 over distribution structure 32 to the viewercomputing unit. The headend maintains a database of programs 40 that canbe served by a continuous media server 42 to individual viewers in anon-demand mode. The headend can also retransmit to its subscribersbroadcast video signals that it receives from another source, such as asatellite feed or another cable system. The video data streams are sentto the viewer computing units in digital or analog format.

34. An EPG server 44 is provided at headend 22 to serve the programminginformation needed by the EPG at the viewer computing unit 24. The EPGserver 44 is implemented as a structured query language (SQL) database46 with records containing information relating to available shows orprograms.

35. The headend 22 further includes an enhanced content server 52 whichserves supplemental interactive content to the viewer computing units toenhance or supplement the continuous video streams served by thecontinuous media server 42. The supplemental content is stored digitallyin database 54 and can be text, graphics, video, picture, sound, orother multimedia types. Examples of supplemental content include triviaquestions or games related to the program, advertisements, merchandiseor other memorabilia, hyperlinks to similar programs of similar type orstarring the same actor/actress, and so on.

36. In the implementation described herein, the supplemental content isconstructed as a hypertext file which is rendered by a browser.Hypertext, or hypermedia, is a metaphor for presenting information inwhich text, images, sounds, and actions become linked together in acomplex, non-sequential web of associations that permit a user to browsethrough related topics, regardless of the presented order of the topics.Hypermedia content is widely used for navigation and informationdissemination on the “World-Wide Web” (WWW or Web) of the Internet.

37. Hypermedia content is commonly organized as documents with embeddedcontrol information. The embedded control information includesformatting specifications, indicating how a document is to be renderedby the browser. In addition, such control information can include linksor “hyperlinks,” which are symbols or instructions telling the browserwhere to find other related documents on the Internet. A hyperlinkincludes a label, which is typically rendered as a graphical icon or ashighlighted keywords, and an underlying target specification. The targetspecification is set forth in the underlying hypermedia document, but isnormally invisible to the user. The target specification unambiguouslyidentifies a targeted document or resource, specifying the name of thecomputer on which the document resides and the complete file name of thedocument.

38. In concept, the target resource can be virtually any type ofobject - including executable programs, text or multimedia documents,sound clips, audio segments, still images, computers, directories, andother hyperlinks. In WWW documents, hyperlink targets are most oftenfiles that can reside on any computers connected to the Internet.However, a hyperlink target can also be a particular location within adocument, including the document that is currently being rendered.Hypertext usage is not limited to the Internet. Various multimediaapplications utilize hypertext to allow users to navigate throughdifferent pieces of information content.

39.FIG. 3 shows an example data structure 48 which is used by the EPGdatabase 46 to organize programming information and to correlate targetspecifications with the programs. The data structure includes a numberof data records comprising various data fields 50 for holdingprogramming information. The data fields contain program titles, actornames, whether the program has closed captioning or stereo audio, thescheduled time of the program, the network name, and description text.Each program record in the data structure 48 also holds pointers tostorage locations within the continuous media server 42 which hold thevideo data streams of the programs corresponding to the program records.

40. The data structure 48 includes a data field 58 for holding targetspecifications which reference target resources supporting thesupplemental content. The data structure correlates the targetspecifications with the programs by associating them within the sameprogram record. The presence of a target specification within the datafield 58 indicates that the associated program is interactive and thatcomplementary content can be displayed in addition to the programitself. The target specification can be implemented in different forms.The target specification to the supplemental content stored at theheadend which enhances the “Murder, She Wrote” program is in the form ofa pointer “CONTENT1.” The presence of this pointer in field 58 indicatesthat the program “Murder, She Wrote” is interactive compatible and thatthe supplemental content resides at a memory location identified by thepointer “CONTENT1.” Similarly, the programs “Seinfeld” and “Star Trek”are interactive compatible and have associated supplemental contentwhich are located by the hyperlink URLs in corresponding data field 58.These URLs reference resources provided by independent service providers(described below with reference to FIG. 4).

41. A URL (universal resource locator) is a type of target specificationused in WWW documents to describe everything about a particular resourcethat a browser needs to know to request and render it. The URL describesthe protocol a browser should use to retrieve the resource, the name ofthe computer it is on, and the path and file name of the resource.

42. The following is an example of a URL listed in the EPG datastructure 48 in association with the “Seinfeld” program:

http://www.nbc.com/seinfeld

43. The “http://” portion of the URL describes the protocol. The letters“http” stand for HyperText Transfer Protocol, the set of rules that abrowser will follow to request a document and the remote server willfollow to supply the document. The “www.nbc.com” portion of the URL isthe name of the remote host computer which maintains the document. Thelast portion “/seinfeld” is the path and file name of the document onthe remote host computer.

44. The development of the EPG data structure 48 includes designatingseparate data fields 50 within a storage medium for holding programminginformation, and dedicating at least one of the data fields 58 tostoring target specifications to supplemental content. The targetspecifications can be in the form of memory pointers, hyperlinks, URLs,or any other designation for referencing a location containingsupplemental content. For programs with no corresponding supplementalcontent, the target specifications data field 58 is left empty. However,for those programs with supplemental content, the target specificationto the target resource containing the supplemental content is entered inthe data field 58 and correlated with the program. The correlation isprovided through the data structure by the placing the targetspecification within the same data record as the program title and otherinformation for a particular program. It is further noted that thetarget resources can be embedded within other text-based data held inother data fields 50 which also relate to the corresponding programs.

45. The same or a subset of data structure 48 is employed at the EPGapplication running at the viewer computing unit in the home. The datarecords stored at the headend on the EPG server are transmittedperiodically in batch, or individually, and cached at the local EPG. Thelocal EPG is thus able to identify whether a particular program isinteractive compatible by quick reference to the locally cached EPG datastructure.

46.FIG. 4 shows an interactive entertainment system 60 according to asecond implementation which accommodates third party independent serviceproviders. Interactive entertainment system 60 includes headend 22 whichsupplies programs and supplemental content to a viewer computing unit62. In this implementation, the viewer computing unit 62 is implementedas a computer 64 with a monitor 66, a central processing unit 68, akeyboard 70, and a mouse 72 (although other input devices can be used inaddition to, or instead of, the keyboard and mouse).

47. The headend 22 serves the programs over a first network 74, whichmay be implemented like the fiber optic distribution structure describedabove, or as a satellite system or other wireless broadcast system, oras a conventional data network. It is noted that other program providersmay be used instead of a headend, such as a broadcast station or anonline service provider.

48. The interactive entertainment system 60 also includes multipleindependent service providers (ISPs), as represented by ISP 80, whichdistribute digital content to the viewer computing unit 62 over a secondnetwork 82. An example of the second network 82 is a public network,such as the Internet. The ISP 80 has a host 84 and a content database 86to serve various multimedia content to the viewer's computer. The ISPhost 84 stores one or more target resources that can be rendered by theviewer computing unit 62.

49. The supplemental content provided by the ISP 80 is correlated withthe programs by data structure 48 as described above. As shown in FIG.3, the data field 58 includes target specifications to supplementalcontent provided by servers other than the program provider whichdistributes the show. In the illustrated example, the programs Seinfeldand Star Trek have associated ISP-served content which are located bythe hyperlink URLs in corresponding data field 58. It is further notedthat a program might have more than one source of supplemental content.The program record for “Star Trek” has two associated targetspecifications, one that references a target resource at the hostcomputer “www.fox.com” and one that references a target resource at thehost computer “www.collections.com.”

50. According to this FIG. 4 arrangement, the viewer computing unit 62receives a non-interactive, continuous video stream from the headend 22,and supplemental interactive content from either the headend 22 or froman independent service provider 80. The supplemental content mighttherefore be carried to the viewer's computer over the same channel asthe program, over a separate channel, or over a separate connectionunrelated to the program channels. The back channel for facilitatinginteractive control is provided through either network 72 or 82.

51. In another implementation, the interactive content can be suppliedlocally by a storage medium, such as a CD-ROM. Suppose, for example, acontent developer creates an interactive CD-ROM that can be played alongwith a particular movie. The supplemental content is accessed via diskreads to the local storage drive, rather than using URLs to targetresources over a network. The supplemental content is synchronized withthe program using open loop control, such as a start time followed bymeasurable ticks or by frame count.

52.FIG. 5 shows a viewer computing unit, referenced generally as numeral90, in more detail. The viewer computing unit 90 includes a processor92, a volatile memory 94, and a program memory 96. The viewer computingunit 90 also has at least one receiver, and possibly two receivers, forreceiving the video stream from the headend and the digital supplementaldata from the headend or ISP. The first receiver is in the form of atuner 98 which tunes to the channel or broadcast frequency to receive avideo data stream from a program source, such as the headend,broadcaster, or other program provider. The second receiver, referencedgenerally as 100, can be implemented as a second tuner for receiving thecontent over a cable or wireless distribution network, or a modem forreceiving the supplemental content over the Internet or other datanetwork.

53. The viewer computer runs an operating system 101 which supportsmultiple applications. The operating system 101 is stored in memory andexecutes on the processor. The operating system is preferably amultitasking operating system which allows simultaneous execution ofmultiple applications. The operating system 101 employs a graphical userinterface windowing environment which presents the applications ordocuments in specially delineated areas of the display screen called“windows.” One preferred operating system is a Windows® brand operatingsystem sold by Microsoft Corporation, such as Windows® 95 or Windows® NTor other derivative versions of Windows®. However, other operatingsystems which provide windowing environments may be employed, such asthe Macintosh operating system from Apple Corporation and the OS/2operating system from IBM.

54. A channel navigator application 102 is stored in program memory 96and executes on the processor 92 to control the tuners 98 and 100 toselect a desired channel for receiving the video content programs. AnEPG application 104 is stored in program memory 96 and executes on theprocessor 92 to organize programming information downloaded from the EPGserver at the headend. The EPG 104 supports a displayable user interface(UI) which visually correlates programs titles to scheduled viewingtimes and tuning information, such as a channel, in a scrollable gridformat. The viewer computing unit 90 also has an interactive supportmodule in the form of browser 106 which is kept in memory 96. Thebrowser 106 is dynamically loaded on processor 92 when needed to rendercontent, such as a hypertext document, from an ISP or other contentprovider. The browser can be implemented as a hyperlink browser, or moreparticularly, as an Internet Web browser.

55. Although not shown, the viewer computer might also include on ormore storage drives, such as a CD-ROM drive, to play interactive CD-ROMsin the event that supplemental data is supplied locally on disk.

56.FIGS. 6 and 7 show a method for operating an interactiveentertainment system to enhance a conventional continuous video datastream, such as a television show, with interactive supplementalcontent. This method is described with additional reference to thescreen displays shown in FIGS. 8a-8 c.

57. The method begins when a viewer tunes to a particular channel (step150 in FIG. 6). The channel navigator 102 controls the tuner 98 to tuneto the channel. The viewer computing unit checks the appropriate channeland time slot of the EPG data structure 48 to determine if the programbeing carried on the selected channel at this time is interactive (step152). As described above, the presence of a target specification in theEPG data field 58 in association with the program is in indication thatthe program is interactive compatible and that there is supplementalcontent for the program. If the data field is empty, indicating that nosupplemental content exists (i.e., the “no” branch from step 154), theviewer computing unit simply displays the video data stream beingreceived through the tuner 98 (step 156).

58. A run-time technique can alternatively be used for detecting whethera program is interactive compatible. Rather than checking the EPG datafield, the viewer computing unit checks a dedicated channel for theexistence of new supplemental content data. The dedicated channel isseparate from the selected channel carrying the program so that thesupplemental content is received by the viewer computing unit currentlywith the program video data. The existence of a supplemental contentdata stream over the dedicated channel indicates that the program beingreceived on the selected channel is interactive compatible. Thistechnique can be carried out without reference to the EPG listing.

59. If the program is interactive compatible (i.e., the “yes” branchfrom step 154), the viewer computing unit retrieves the targetspecification from the EPG data structure (step 158 in FIG. 6). Thetarget specification might be a pointer to a memory location at theheadend, or a pointer to a memory location on a locally running CD-ROM,or a hyperlink to a target resource located at an independent serviceprovider. The hyperlink browser 106 is loaded onto the processor torender the target resource referenced by the target specification (step160).

60. At this point, there are several ways to initiate viewing thesupplemental content. One approach is to permit the viewer toselectively activate the interactive mode (i.e., the “viewer activate”branch from step 160). The viewer may know that the program isinteractive compatible by checking a newspaper listing or other programguide. Another way is to have the viewer computing unit display an iconor other indicia on the screen to visually inform the viewer that theprogram is interactive compatible (step 162 in FIG. 6). The icon can beoverlaid on the playing video program in an non-conspicuous manner, likethe closed caption or stereo labels.

61.FIG. 8a shows an example screen 200 having a video program 202playing at full-size on the screen. An icon 204 is displayed at thelower right corner of the screen to inform the viewer that the program202 is interactive compatible. The icon 204 can be displayed throughoutthe program, or faded out after a set time period. This initial screenrepresents a first mode of interactivity, where the viewer is presentedwith the choice of interactive entertainment or non-interactive viewingof the program. As long as the viewer does not activate the icon 204,the viewer computing unit continues to receive the video content programover the selected channel and display that program alone, without anysupplemental content (steps 166 and 168 in FIG. 6).

62. If the viewer decides to enter into an interactive mode, the vieweremploys a remote control handset, mouse, keyboard, or other mechanism toactuate the icon 204. This causes the browser 106 to start the targetresource located by the target specification listed in the EPG datastructure (step 170 via the “yes” branch from step 164).

63. This leads to another approach to invoking the supplemental content.Rather than displaying an icon and waiting for input from the viewer,the viewer computing unit can automatically activate the target resourceas soon as the browser is loaded on the processor (step 170 from the“automatic” branch from step 160).

64. The target resource contains digital data which supports interactivefunctionality in conjunction with the associated video content program.The digital data defines the supplemental content to enable viewerinteractivity with the video content program. The digital data alsodefines a display layout prescribing how the supplemental content andthe video program are to appear in relation to one another whendisplayed on the screen.

65. The digital data further defines timing information to synchronizepresentation of the supplemental content with the video content program.This timing information can be implemented in many different ways. Oneapproach is to coordinate the supplemental content to a particularprogram start time, and then carefully measure time from that start timeto synchronize presentation of the supplemental content with theappropriate points in the program. Another approach is to characterizethe program in terms of frames, and key the introduction of supplementalcontent to the frame numbers.

66. The video stream and supplemental content can be transmittedtogether, as a single signal, or separately. In the formerimplementation, the digital data is packaged with the video stream andtransmitted as one signal from the headend. The viewer computing unitreceives the single signal at tuner 98 and separates the digital datafrom the video signal (steps 172 and 174). In the latter implementation,the video data stream is received over the selected channel via tuner 98from the program provider (step 172). The digital data is received fromthe target resource that is activated by the browser (step 174). Thistarget resource might be located at the headend, in which case, the datais received over a separate channel using tuner 100; or the targetresource might be served by an independent service provider, in whichcase, the data is received over a public network using the modem 100.

67. At the viewer computing unit, the digital data is deconstructed toextract the timing information and the display layout from thesupplemental content (step 176 in FIG. 6 and step 178 in FIG. 7). Thedisplay layout defines a program boundary within which the program isdisplayed to the viewer. The program boundary is sized and shapedaccording to parameters prescribed in the display layout. As the sizeand shape changes, the processor scales the video data for displaywithin the program boundary at that instance (step 180 in FIG. 7).

68. The display layout also defines how the supplemental content isillustrated along with the program. The display layout prescribes thesize, style, location, and other parameters for presenting thesupplemental content. For instance, the supplemental content might be atleast partly overlaid on the video program, or provided as a wrapperaround, or along side, the program. The supplemental content isdisplayed according to this display layout and synchronized to theprogram according to the timing information (step 182 in FIG. 7). As anexample, the supplemental content might be a trivia game which quizzesthe viewer as to possible outcomes of various scenes. The questions aredisplayed on the screen according to the display layout and are timedusing the timing information to coincide with the part of the program towhich the questions pertain.

69.FIG. 8b illustrates a screen 200 that is part of the interactivemode. Here, the video program is constrained within a program boundary210 which is less than full-screen size. The program boundary 210 hasbeen reduced in comparison to the full-size presentation of FIG. 8a tomake room for the supplemental content. In this illustration, thesupplemental content consists of a main menu having soft buttons212-221, a highlighter or cursor icon 224, graphics bars 226, and a textblock 228 to hold the program title. The soft buttons 212-221 presentvarious control options to the viewer to invite interactive involvementwith the program.

70. The illustrated screen is taken from an interactive program based ona Star Trek episode. To provide an example of the main menu, the softbuttons 212-216 represent actions for calling up related TV shows andmovies. For instance, button 212 relates to the original Star Trekseries; button 213 concerns The Next Generation series; button 214represents the Deep Space Nine series; button 215 represents the Voyagerseries; and button 216 relates to the various motion pictures.

71. Soft button 217 is an access/classified toggle which allowsselection of one of two levels of interactivity. “Access” serves as adefault mode of interactivity which contains the main menufunctionality. The screen of FIG. 8b is an example of the access mode ofinteractivity. A voice-over narrative announces the mode when selectedby button 217. Once in the access mode, the broadcast video stream isshrunk to fit within the smaller program boundary 210 to accommodate themain menu graphics. The alternate mode of interactivity, or “classified”mode, contains time-linked contextual information to provide a secondtier of information. FIG. 8c, shown below, is an example of theclassified mode of interactivity.

72. Soft buttons 218-220 enable selection of different types ofsupplemental content. Button 218 relates to an encyclopedia containingnumerous facts and information about the program. In the Star Trekprogram, for example, the encyclopedia might contain information onaliens, behind-the-scenes tidbits, cast and crew biographies, facts onother episodes, interviews with the actors/actresses, a technical manualexplaining intricacies of starship operation and travel, and varioustimelines.

73. Button 219 is associated with a program guide, which provides alisting of current Star Trek shows for a two week period. The programguide also permits the user to change channels to another channelcarrying a Star Trek show, if available.

74. Button 220 allows selection of entertainment content, which includestrivia games related to the program and a merchandise catalog. Thetrivia games segment allows viewers to compete against other regionalcompetitors. The catalog lists available merchandise related to theprogram that can be purchased by the viewer.

75. The tenth button 221 is a quit button which allows the viewer toleave the interactive mode and return to a full-screen display, as shownin FIG. 8a.

76. The program and supplemental content are displayed as prescribed bythe display layout. The digital data from the target resource, however,can dynamically change the display layout. When the display layout ischanged (i.e., the “yes” branch from step 184), the viewer computingunit re-sizes and/or reshapes the program boundary 210 and location ofthe supplemental content to achieve the presentation envisioned by thecontent developer (step 186). The display layout can be changed forvarious reasons. The display layout might change in response to viewerselection of a soft button, as is the case causing the display layoutchange between FIGS. 8b and 8 c. The display layout might also bealtered automatically as part of the timing information. For instance,the digital data might invoke a graphic or text to pop up on the screenat a timely point in the program. Such real-time content includes, forexample, trivia questions, interesting facts, graphical or soundeffects, and so forth that relate to specific parts of the program.

77.FIG. 8c shows the screen 200 at another instance after the viewer hasselected soft button 220 to enter into a classified mode ofinteractivity. The main menu is still present on the screen, but morecontextual information is added in a graphical format to represent anextension of the selected soft button 220. The program boundary 210 isfurther reduced to accommodate the additional graphical and textualinformation.

78. In this illustration, the viewer has selected the entertainmentbutton 220 to display the merchandise store. This layout places thevideo program box 210 in the lower right hand corner of the screen, andleaves the remaining area of the screen to be used for supplementalcontent. The supplemental content comprises a secondary menu havingactuatable soft buttons 232-237. The cursor symbol 224 is movable amongthe various buttons and used to activate a selected button. The buttonscorrespond to various types of merchandise, such as clothes, posters,collectibles, memorabilia, and toys. There is also an order button 237that permits the user to place an order for a particular product. Apicture window 240 is arranged beside the secondary menu to show apicture of the merchandise associated with the category indicated by thecursor symbol 224. A merchandise description window 242 contains a briefdescription of the merchandise shown in the picture window 240.

79. The system and method for presenting interactive entertainmentprograms is advantageous as it returns the freedom of creativity to thecontent developer. By embedding the display layout instructions withinthe digital data provided by a target resource, the developer isempowered to create both the content and the presentation format of howthe content and broadcast program are displayed to the viewer. Thedeveloper is free to control the location and shape of the broadcastprogram window, as well as the presentation format of the supplementalcontent relative to the program window. This facilitates anon-restrictive environment in which the developer can create screenswith optimal appeal to the viewer. No longer is the developer simplydeveloping content to be displayed within a fixed pane that cannot bedynamically altered relative to the program.

80. The creative power is thus placed in the hands of the targetresource author. FIG. 9 shows a method for authoring an interactiveentertainment program. The author begins by developing the supplementalcontent which is to accompany a particular television show or movie(step 250 in FIG. 9). The author designs the presentation format foreach scene of the program (step 252), and the timing requirements forsynchronizing the supplemental content with the broadcast video stream(step 254).

81. In the implementation described herein, the supplemental content isconstructed as a hypertext document which can be rendered by a browser.To control how the content is to be rendered, the author encodes thepresentation format and timing instructions as extension attributes tohyperlink codes. More specifically, hypermedia content utilized by theWWW is commonly written using what is referred to as a “markuplanguage.” “SGML” (Standard Generalized Markup Language) is one suchlanguage, defined formally as “a language for document representationthat formalizes markup and frees it of system and processingdependencies.” SGML is a language for describing the structure ofdocuments and for describing a tagging scheme to delineate thatstructure within text. For creating hypermedia content, WWW documentsutilize a subset of SGML called “HTML” (Hypertext Markup Language). AnHTML textual document can be thought of as plain text that containsformatting instructions in the form of HTML markup codes or “tags.” Tagstell Web browsers how to render and print documents, and are also usedto specify hyperlinks.

82. The following is a simple example of a start tag for an HTMLhyperlink:

<A HREF=“http://www.microsoft.com/upgrades”>

83. The leading “A” in the start tag is the name of HTML element. Theletter “A” indicates that the tag is an “anchor” tag-the type of tagthat defines a hyperlink. The start tag contains an “attribute”indicating a target specification:

HREF=“http://www.microsoft.com/upgrades”.

84. The attribute name is “HREF” and the attribute value is“http://www.microsoft.com/upgrades.” HTML documents are organizedaccording to various tags. Tags define the start and end of headings,paragraphs, lists, character highlighting and links, and so on.

85. The interactive entertainment system described herein supportsconventional HTML documents as target resources. Accordingly, authorscan use familiar HTML elements, such as Head, Body, and Character-Levelelements, to construct a target resource. However, the inventors havealso developed new types of tags, as well as extension attributes toexisting HTML tags. The author of a target resource can use the new tagsand extension attributes to formulate how and when the browser rendersthe supplemental content along with the continuous video stream. The newHTML extension attributes are given below in Table 1. TABLE 1 HTMLExtension Attributes Extension HTML Tag Attribute Function BODYbackground Specifies a URL for an image tile or MMS stream to cover thedocument background to yield a distinctive appearance. IMG dynsrcSpecifies the address of a video clip or broadcast source to bedisplayed. FRAMESET usedefault Used to determine where the focus islocated in a tab-based user interface within a FRAME by specifying theURL for the file containing the map, followed by a ‘#’, followed by thename of the USEDEFAULT. If the argument to USEDEFAULT starts with a ‘#’,the map is assumed to be in the same document as the USEDEFAULT tag

86. The new tags supported by the interactive entertainment system areprovided in Table 2. TABLE 2 HTML Tags HTML Tag Function PermittedAttributes ACTION Controls update or +E,uns CELL- identifies object in adisplay of sound or GALLERY picture +E,uns HREF - URL to resource orobject +E,uns ID - label or id for this element +E,uns TARGET - where toperform action such as a FRAME or RENDERIMAGE element EVENT Associatestrigger and +E,uns TRIGGER - reference to action TRIGGER element to beused with this event +E,uns ACTION - reference to TRIGGER element to beused with this event - allow comment delimited list of actions tosatisfy the need for multiple actions in response to a single trigger+E,uns ID - name of event GALLERY Stores and coordinates +E,uns SOURCE -URL to actual gra- collection of images phic +E,uns ID - name of gallery+E,uns ROWS - height of each graphic cell +E,uns COLUMNS - width of eachgraphic cell +E,uns TRANSPARENCY - RGB value indicating background colorLOADFONT Downloads and installs +E,uns HREF - URL to font resource afont to be used RENDER- Displays an image from +E,uns REF - name ofGALLERY IMAGE the GALLERY +E,uns CELL - specifies individual cellscontaining image TRANSI- Defines screen change +E,uns TYPE - type oftransition TION interim, fade to black, +E,uns SPEED - how fast does thecut, and so on. transition occur, SLOWEST, SLOW, MEDIUM, FAST, FASTESTTRIGGER Defines when +E,uns ID - name of this TRIGGER something is tooccur +E,uns TIME - time in milli- seconds since the last event

87. Using the supplemental content and HTML tags for timing andpresentation format, the author constructs the target resource (step 256in FIG. 9). The target resource is stored in a storage medium at a hostcomputer and a target specification for referencing that location isdefined (step 258). The author submits the target specification to theauthority responsible for developing the programming informationmaintained in the EPG database. The target specification is stored inthe appropriate data field of the EPG data structure which correspondsto the program to which it pertains (step 260).

88. In compliance with the statute, the invention has been described inlanguage more or less specific as to structure and method features. Itis to be understood, however, that the invention is not limited to thespecific features described, since the means herein disclosed compriseexemplary forms of putting the invention into effect. The invention is,therefore, claimed in any of its forms or modifications within theproper scope of the appended claims appropriately interpreted inaccordance with the doctrine of equivalents and other applicablejudicial doctrines.

1. A viewer computing unit for receiving and displaying continuous videocontent programs, comprising: a memory; a processor programmed todetermine whether the video content programs are interactive; a tuner totune to channels carrying the video content programs; and an interactivesupport module stored in the memory, the interactive support modulebeing dynamically loadable for execution on the processor when the tuneris tuned to a channel carrying a video content program that isinteractive.
 2. A viewer computing unit as recited in claim 1 , whereinthe interactive support module comprises a hyperlink browser.
 3. Aviewer computing unit as recited in claim 1 , wherein the interactivesupport module comprises an Internet browser.
 4. A viewer computing unitas recited in claim 1 , and further comprising: an electronicprogramming guide (EPG) stored in the memory and executable on theprocessor to organize programming information, the EPG associating atarget specification to a target resource with a video content program;and the interactive support module activating the target resource whenthe tuner is tuned to the video content program.
 5. A viewer computingunit as recited in claim 4 , wherein the target resource containssupplemental content which is displayed concurrently with the videocontent program to provide viewer interactivity with the video contentprogram and display layout instructions prescribing how the supplementalcontent and the video content program are to appear in relation to oneanother when displayed, the processor being responsive to the layoutinstructions obtained from the target resource to display thesupplemental content concurrently with the video content program.
 6. Aviewer computing unit as recited in claim 4 , further comprising: areceiver coupled to the processor to receive both the video contentprogram and data supplied from the target resource.
 7. A viewercomputing unit as recited in claim 4 , further comprising: a firstreceiver coupled to the processor to receive the video content program;and a second receiver coupled to the processor to receive data suppliedfrom the target resource.
 8. In an interactive entertainment devicehaving an ability to receive and display television signals, theinteractive entertainment device supporting a displayable user interface(UI), a method for operating the interactive entertainment devicecomprising the following step of displaying a hyperlink to a targetresource in the UI to enable a viewer to activate the target resourcedirectly from the UI by activating the hyperlink.
 9. A method forenhancing a continuous video content program with supplemental hyperlinkcontent to provide viewer interactivity with the video content program,comprising the following steps: configuring digital data which defines adisplay layout prescribing how the supplemental hyperlink content andthe video content program are to appear in relation to one another whendisplayed; transmitting the digital data and the video content programto a viewer computing unit; and displaying the supplemental hyperlinkcontent and the video content program according to the display layout.10. A method as recited in claim 9 , further comprising the followingsteps: configuring the data to define multiple different display layoutsthat are selectively displayed to the viewer depending upon the viewer'sselections of possible choices presented in the supplemental hyperlinkcontent; and dynamically changing the display layouts of thesupplemental hyperlink content and the video content program in responseto said viewer's selections.
 11. A method as recited in claim 9 ,wherein the transmitting step comprises the step of transmitting thedigital data along with the video content program as the same signal.12. A method as recited in claim 11 , further comprising the followingsteps: receiving said signal containing the digital data and the videocontent program at the viewer computing unit; and separating the digitaldata from the video content program at the viewer computing unit.
 13. Amethod as recited in claim 9 , wherein the transmitting step comprisesthe step of transmitting the digital data along with the video contentprogram as two separate signals.
 14. A method as recited in claim 13 ,further comprising the following steps: receiving a first signalcontaining the digital data using a first receiver at the viewercomputing unit; and receiving a second signal containing the videocontent program using a second receiver at the viewer computing unit.15. A method as recited in claim 9 , wherein the transmitting stepcomprises the following steps: transmitting the digital data as a firstsignal from a first source; and transmitting the video content programas a second signal from a second source that is different than the firstsource.
 16. A method as recited in claim 9 , wherein the configuringsteps comprises the step of creating an HTML document having HTMLextension attributes that assist in defining the display layout.
 17. Amethod as recited in claim 16 , further comprising the step of creatingthe HTML document using at least one extension attribute selected from agroup comprising: a background extension attribute which specifies how abackground is to appear; an image source extension attribute whichspecifies an address of a video source to be displayed; and a focusextension attribute to specify where a focus indicia is located in thedisplay.
 18. A method as recited in claim 9 , wherein the configuringsteps comprises the step of creating an HTML document having one or moreHTML tags that assist in defining the display layout.
 19. A method asrecited in claim 18 , further comprising the step of creating the HTMLdocument using at least one tag selected from a group of tagscomprising: a tag to control update or display of sound or pictures; atag to store and coordinate collections of images; a tag to control fontstyles; a tag to retrieve and display one of the images; and a tag todescribe transition from one screen display to another.
 20. A method forpresenting an interactive program, comprising the following steps:receiving a program as a continuous stream of video data; receivingdigital data for supporting interactive functionality in relation to theprogram; displaying the program within a program boundary on a visualdisplay screen; presenting supplemental content from the digital data ina presentation format on the visual display screen which enables theinteractive functionality; and dynamically controlling location andshape of the program boundary and the presentation format of thesupplemental content relative to the program boundary on the visualdisplay screen.
 21. A method as recited in claim 20 , further comprisingthe step of overlaying the supplemental content at least partly on theprogram displayed within the program boundary.
 22. A method as recitedin claim 20 , further comprising the step of presenting the supplementalcontent outside of the program boundary.
 23. A method as recited inclaim 20 , further comprising the step of synchronizing presentation ofthe supplemental content to corresponding points in the program.
 24. Acomputer programmed to perform the steps recited in claim 20 .
 25. Acomputer-implemented method for activating interactive supplementalcontent for a video content program upon tuning to a channel carryingthe program, comprising the following steps: determining if the programis interactive compatible, where interactive compatible programs areassociated with target resources containing data which supportinteractive functionality in conjunction with the associated programs,the target resources being located by corresponding targetspecifications; and in an event that the program is interactivecompatible, retrieving a target specification associated with theprogram and launching code to activate the target resource in support ofinteractive functionality for the associated program.
 26. Acomputer-implemented method as recited in claim 25 , wherein the targetspecifications are correlated with associated programs in a programlisting, and further comprising the following steps: checking theprogram listing to ascertain whether the program is interactivecompatible; and determining that the program is interactive compatibleby presence of a target specification being associated with the programin the program listing.
 27. A computer-implemented method as recited inclaim 25 , wherein said determining step comprises the step of checkinga channel separate from said program channel for presence of thesupplemental content in conjunction with the program being received onsaid program channel.
 28. A computer-implemented method as recited inclaim 25 , further comprising the step of displaying an icon to visuallyinform the viewer that the program is interactive compatible.
 29. Acomputer-implemented method as recited in claim 28 , further comprisingthe step of displaying the interactive supplement content in response tothe viewer activating the icon.
 30. A computer-implemented method asrecited in claim 25 , further comprising the step of automaticallydisplaying the interactive supplement content together with theinteractive compatible program.
 31. A computer-implemented method asrecited in claim 25 , further comprising the step of loading a hyperlinkbrowser to activate the target resource.
 32. A computer programmed toperform the steps recited in claim 25 .
 33. A method for creating a datastructure in a storage medium that is used to organize programminginformation, comprising the following steps: forming data fields in astorage medium to hold programming information pertaining to video,content programs, some of the data fields holding text-based data; andadding a target specification which references a target resourcecontaining data that supports interactive functionality with respect tovarious ones of the video content programs by at least one of (1)forming a separate data field to hold the target specification for anassociated video content program, or (2) embedding the targetspecification within the text-based data held in a data field.
 34. Acomputer programmed to perform the steps recited in claim 33 .
 35. Astorage medium having a data structure created according to the stepsrecited in claim 33 .
 36. A method for authoring an interactiveentertainment program, comprising the following steps: constructingdigital data to support interactive functionality with a video contentprogram, the digital data being configured to permit a viewer tointeractively control display of supplemental content along with thevideo content program; defining a display layout of how the supplementalcontent and the video content program are displayed; and encoding thedigital data with instructions to dynamically change the display layoutof the supplemental content and the video content program.
 37. A methodas recited in claim 36 , further comprising the step of encoding thedigital data with instructions to dynamically change the display layoutin response to viewer control.
 38. A method as recited in claim 36 ,further comprising the following steps: developing timing information tosynchronize presentation of the supplemental content in conjunction withthe video content program; and encoding the digital data withinstructions to alter the display layout of the supplemental content andthe video content program in response to the timing information.
 39. Amethod as recited in claim 36 , further comprising the following step ofstoring the digital data with instructions as a target resource in astorage medium.
 40. A target resource stored in a storage medium whichis constructed according to the steps recited in claim 39 .
 41. Acomputer programmed to perform the steps recited in claim 36 .
 42. Acomputer-implemented method comprising the following steps: tuning to achannel; determining if a video content program being carried on thechannel is interactive compatible as indicated by presence of a targetspecification provided in association with the video content program; inan event that the program is interactive compatible, retrieving thetarget specification associated with the video content program on thechannel; launching a browser to activate a target resource located bythe target specification, the target resource containing digital datawhich supports interactive functionality in conjunction with theassociated video content program, the digital data defining supplementalcontent to enable viewer interactivity with the video content programand a display layout prescribing how the supplemental content and thevideo content program are to appear in relation to one another whendisplayed; receiving the video content program over the channel;receiving the digital data from the target resource; and displaying thevideo content program and the supplemental content according to thedisplay layout prescribed in the digital data received from the targetresource.
 43. A computer-implemented method as recited in claim 42 ,firer comprising the following steps: correlating the targetspecifications with associated programs in an electronic program guide(EPG); and checking the EPG to ascertain whether the program isinteractive compatible; and determining that the program is interactivecompatible by presence of a target specification in the EPG which isrelated to the program.
 44. A computer-implemented method as recited inclaim 42 , further comprising the following steps: displaying the videocontent program within a program boundary on a visual display screen;presenting the supplemental content in a presentation format on thevisual display screen; and controlling location and shape of the programboundary and the presentation format of the supplemental contentrelative to the program boundary according to the display layoutreceived from the target resource.
 45. A computer-implemented method asrecited in claim 44 , further comprising the step of synchronizingpresentation of the supplemental content to corresponding points in thevideo content program.
 46. A computer-implemented method as recited inclaim 42 , further comprising the following steps: receiving the videocontent program from a first source; and receiving the digital data fromthe target resource at a second source different than the first source.47. A computer-implemented method as recited in claim 42 , wherein thedigital data at the target resource further defines timing informationto synchronize presentation of the supplemental content with the videocontent program, and comprising the step of displaying the supplementalcontent at prescribed times during the video content according to thetiming information received from the target resource.
 48. Acomputer-implemented method as recited in claim 42 , further comprisingthe step of displaying an icon to visually inform the viewer that theprogram is interactive compatible.
 49. A computer-implemented method asrecited in claim 48 , further comprising the step of displaying thesupplement content in response to the viewer activating the icon.
 50. Acomputer-implemented method as recited in claim 42 , further comprisingthe step of automatically displaying the supplement content togetherwith the video content program.
 51. A computer-implemented method asrecited in claim 42 , further comprising the step of overlaying thesupplemental content at least partly on the video content program.
 52. Acomputer-implemented method as recited in claim 42 , further comprisingthe step of presenting the supplemental content in an area surroundingthe video content program.
 53. A computer programmed to perform thesteps recited in claim 42 .
 54. A computer-readable storage mediumcontaining a target resource, the target resource comprising:supplemental content for rendering to a viewer to supplement viewing ofa continuous, non-interactive video stream; one or more elementsprescribing how the supplemental content is to be rendered along with,and relative to, the video stream.
 55. A computer-readable storagemedium as recited in claim 54 wherein the target resource comprises anHTML document and the elements comprise HTML tags and/or extensionattributes for HTML tags.